The present invention relates to a rotation processing method for the processing of image data wherein the rotation of the image data is for an arbitrary angle. More particularly, the present invention is directed to a rotation processing method of an image and a system to provide a favorable rotational image of a large picture plane having high quality which is economically obtained. In recent years, electronic filing systems using optical disks or other large storage devices have been used for advancing paperless processing in the office environment.
Additionally, such systems are also beginning to be used for image processing of documentation. In accordance with such trends, a high degree of quality is required in the image processing unit incorporated within such an electronic filing system. The image processing units being required not only to have real image processing functions of enlarging/reducing and 90 degree rotation, but also of rotation of the image for arbitrary angles.
In general, rotation of image element data with an arbitrary angle is a form of affine transformation. Assuming image element coordinates of an original image are designated (x,y), image element coordinates of the rotated data are designated (X,Y), and the rotational angle is designated .theta., the rotation of the image having an arbitrary angle may be defined by the equation ##EQU1##
In the above mentioned method, image element data is exchanged for each image element in accordance with expression (1). Calculating each image element individually requires extremely large calculations. Thus, requiring extended transformation time to process all of the image element data. An example of an apparatus used to eliminate such a disadvantage is seen in U.S. Pat. No. 4,618,991 by Tabata et al. "Processing Method For The Rotation Of An Image" (patented on Oct. 16, 1986) assigned to Hitachi, Ltd.
In the above-mentioned prior art, instead of transforming each image element, several adjacent picture elements are transferred simultaneously thereby attaining high speed processing. That is, assuming ##EQU2## expression (1) can be transformed as follows: ##EQU3##
Wherein matrixes T.sub.1, T.sub.3 represent oblique access transformations, and matrix T.sub.2 represents transformation for enlarging/reducing. Therefore, the original image is processed in the sequence of:
T.sub.1 (oblique access transformation),
T.sub.2 (enlarging/reducing transformation) and
T.sub.3 (oblique access transformation).
In this manner, the rotational image of arbitrary angle .theta. is obtainable. In this form of transformation processing, the oblique access transformation can be realized in that the shift amount is varied and that the adjacent picture elements are transferred simultaneously. Additionally, the enlarging/reducing at high speed is obtained by established conventional technology.
In the above described prior art, the oblique axis transformations and the enlarging/reducing transformation are applied to the original image such that the rotational image is obtained. Consequently, the process for each image element as shown in expression (1) becomes unnecessary and the rotation processing can be attained at a high speed.
In addition, a "skew coordinate transformation" described in U.S. Pat. No. 4,618,991 has the same meaning as that of the "oblique axis transformation" in the present specification, and as is clearly shown in matrixes (2), (4), it means that a rectangular region is transformed into a parallelogram region without varying the width of the image. Additional prior art in the present technical field includes Japanese Patent Application Laid Open Nos. 117061/1982, 1176151/1982, 189762/1983, 214969/1984.
In the above described prior art, the coordinate transformation is applied to the image element data of the original image a plurality of times in order to obtain the rotational image. Consequently, a memory is required to store intermediate results during each coordinate transformation process. The capacity of the required memory being dependent upon the size of the original image. That is, the required memory capacity increases in proportion to the area of the original image. Since the above described prior art is directed mainly to relatively small areas, the above mentioned memory requirements do not become important.
On the other hand, utilizing an image processing method as above in an electronic filing system such as disclosed in U.S. Ser. No. 186,162 by Y. Kurose et al. "Electronic Filing System" (filed on Apr. 26, 1988, previously filed by the present inventor) results in certain drawbacks. In Kurose et al. a wide range of different image sizes are processed where part of the image slanted to the skew correction where the whole image inputted slant wise is restored to its normal state. The memory capacity required for the intermediate results of such processing becomes very large, for example, 16 MB in the picture plane of Al size (Al refers to a size of office paper designated by the Japanese Industry Standard and it is approximately 33 inches .times. 23.4 inches). Consequently, it becomes essential in practice that the image of the large picture plane is processed by dividing it into smaller regions.
However, in the above mentioned prior art the matching at the dividing point of the regions has not been fully considered and local distortion will at times be generated in the image in the vicinity of the dividing point. That is, since the oblique axis transformation for the image elements arranged in the square lattice type produce errors between the real oblique axis and the shifted image element, the shift amount in the next region needs to be determined after adjustment for this original error. Since in the prior art the transformation is made assuming that the error in the dividing point is 0, the slanting of the oblique axis may become shallow. This point will be described with reference to FIGS. 3B, and 3C.
FIGS. 3B and 3C show examples of the oblique axis transformation for blocks of small regions divided in two (an example corresponding to a rotation with an angle of approximately 10 degrees). The Roman numerals are used to represent the processing order of the divided blocks. FIG. 3B shows an oblique axis transformation image 32 with a height of 28 dots (the dots being represented by dash lines in the figures) divided by a dividing point 33. FIG. 3C shows an oblique axis transformation image 34 with a height of 32 dots divided by a dividing point 35. In the present situation, it is assumed that for correct oblique axis transformation, it is necessary to shift 6 dots in the y direction for each 1 dot in the x direction.
In FIG. 3B, the divided two parts of the image 32 are independently processed, and the image is shifted by 8 dots in the y direction for each 1 dot in the x direction when the transformation is near the dividing point 33. Thus, an error of 2 dots exist. Distortion also occurs in FIG. 3C in the oblique axis transformation of image 34. In FIG. 3C instead of 1 dot in the x direction for every 6 dots in the y direction, the distortion actually increases to 10 dots in the y direction for every dot in the x direction near the dividing point 35. Thus, an error of 4 dots exist.
Therefore, rotating an image by an arbitrary angle accompanied by the dividing of the image into smaller regions may produce errors in distortions near the dividing point, thus lowering the high quality of the processed image.